Merge column values as a list in DataFrames based on a condition